我參考 官網 用 Docker 啟動 Traefik ,跟者步驟試試
docker-compose down

確認一下有沒有容器在跑
docker ps

官網上面說在 docker-compose.yml 加上 reverse-proxy 這個服務
reverse-proxy:
    # The official v2 Traefik docker image
    image: traefik:v2.10
    # Enables the web UI and tells Traefik to listen to docker
    command: --api.insecure=true --providers.docker
    ports:
      # The HTTP port
      - "80:80"
      # The Web UI (enabled by --api.insecure=true)
      - "8080:8080"
    volumes:
      # So that Traefik can listen to the Docker events
      - /var/run/docker.sock:/var/run/docker.sock
我根據上方官網的提示將 service reverse-proxy 改為 traefik ,然後重新啟動 docker-compose 一次,首先使用 vi 來編輯:
vi docker-compose.yml
現在的 docker-compose.yml 長這樣:
version: "3.9"
services:
  app:
    image: krystallll/docker_test:1.0
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_HOST: db
      POSTGRES_PORT: 5432
    restart: on-failure
    ports:
      - 3000:3000
  db:
    image: postgres:14-alpine
    restart: on-failure
    environment:
      POSTGRES_PASSWORD: password
  traefik:
    image: traefik:v2.10
    command: --api.insecure=true --providers.docker
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
docker-compose up --build

官網說可以去以下網址看 Traefik 的 API 原始資料
http://localhost:8080/api/rawdata

看到無法連上網站,我先盲猜是因為沒有開 8080 port,所以跟之前一樣我先去 AWS EC2 裡跟之前設定 3000 port 一樣去設定 8080 port。
一樣先去編輯 Security Groups
加上 8080 port
重新看
http://localhost:8080/api/rawdata

一樣是無法連上網站,突然靈機一動上面的網址是 http://localhost 但現在網址是 http://ec2-52-199-213-167.ap-northeast-1.compute.amazonaws.com 所以我換網址為 http://ec2-52-199-213-167.ap-northeast-1.compute.amazonaws.com:8080/api/rawdata 可以看到以下

終於成功看到 API 原始資料,那明天我們繼續來完成使用 Traefik 取得 HTTPS 協定。